package com.syf.config.exception;


import com.syf.config.result.ResultCodeEnum;

/**
 * 控制器公共 异常枚举:
 *      用于定义公共通用的枚举，此类异常由框架统一拦截，不需要开发者处理
 */
public enum ControllerExceptionEnum implements ResultCodeEnum {

    ERR_UNKNOW(-1, "未知异常"),
    PARAM_ERROR(2, "请求参数校验失败"),
    BIZ_UNKNOW_ERROR(3, "未定义业务异常"),
    REQUEST_TYPE_IS_JSON(4, "参数传递格式不支持，请使用JSON格式传参"),
    REQUEST_JSON_ERROR(5, "请求JSON参数格式不正确，请检查参数格式"),
    REQUEST_METHOD_IS_GET(6, "不支持该请求方法，请求方法应为GET"),
    REQUEST_METHOD_IS_POST(7, "不支持该请求方法，请求方法应为POST"),
    BIZ_DATA_PRIMARY_DUPLICATE(5005, "该记录已经存在"),
    URL_NOT_EXIST(8, "资源路径不存在，请检查请求地址"),
    JWT_TOKEN_EXIST(9, "Token解析错误"),
    JWT_TOKEN_VOID(10, "Token无效");

    private int code;
    private String msg;

    ControllerExceptionEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    ControllerExceptionEnum() {
    }

    @Override
    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    @Override
    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }
}
